Alarm operation by touch-less gesture

ABSTRACT

A method and system to control an alarm application being executed by a device using a touch-less gesture are described. The system includes two or more ambient light sensors arranged at respective surface locations on a same side of a device, each of the two or more ambient light sensors measuring light intensity at the respective surface location. The system also includes a processor to detect a gesture as a detected gesture based on the light intensity measured by the ambient light sensors and output a control signal to the alarm application based on the detected gesture, wherein at least one other gesture also corresponds with the control signal.

BACKGROUND

Most computing and communication devices facilitate alarm clockfunctionality. Typically, a user may set an alarm using a series ofkeyboard or touch-screen entries. When the alarm sounds at the selectedtime, the user may stop or delay (by selecting a snooze option) thealarm operation via keyboard or touch-screen entries again.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of this disclosure, reference is nowmade to the following brief description, taken in connection with theaccompanying drawings and detailed description, wherein like referencenumerals represent like parts.

FIG. 1 shows a device including an exemplary arrangement of ambientlight sensors;

FIG. 2 depicts another view of the device shown in FIG. 1;

FIG. 3 shows a device including an exemplary arrangement of ambientlight sensors according to another embodiment;

FIG. 4 shows a device including an exemplary arrangement of ambientlight sensors according to yet another embodiment;

FIG. 5 is a block diagram of a system to process gestures;

FIG. 6 is a block diagram of a system to control the two or more ambientlight sensors;

FIG. 7 shows the process flow of a method of detecting a gesture;

FIG. 8 is a block diagram of an exemplary device that facilitatestouch-less gesture detection as described herein;

FIG. 9 shows two opposite-side surfaces of an exemplary device accordingto an embodiment; and

FIG. 10 is a process flow of a method to control functionality of analarm application according to an embodiment.

DETAILED DESCRIPTION

It should be understood at the outset that although illustrativeimplementations of one or more embodiments of the present disclosure areprovided below, the disclosed systems and/or methods may be implementedusing any number of techniques, whether currently known or in existence.The disclosure should in no way be limited to the illustrativeimplementations, drawings, and techniques illustrated below, includingthe exemplary designs and implementations illustrated and describedherein, but may be modified within the scope of the appended claimsalong with their full scope of equivalents.

As noted above, many devices facilitate alarm functionality. A user mayset an alarm (wake-up) time at which the alarm sounds. At the wake-uptime, when the alarm sounds, the user may turn off the alarm.Alternatively, the user may instead choose a snooze option at thewake-up time, which sets the alarm to sound again after a designatedperiod of time (e.g., 10 minutes). The user may additionally or insteadchoose other options, such as turning on the radio or opening aparticular web page, for example. The snooze option may be selectedmultiple times before the user ultimately turns off the alarm. However,currently available options to operate the alarm (e.g., touch-screenentry, button selection) require the user to be alert enough to open hisor her eyes and find the touch-screen option or at least feel for thecorrect button if he or she wishes to select the snooze or anotheroption. As a result, the very act of selecting the snooze option, forexample, may disturb the user's additionally desired rest. A system andmethod to recognize gestures is described herein. In addition,embodiments describe a system and method to facilitate alarm operationthrough touch-less gestures.

FIG. 1 shows a device 100 including an exemplary arrangement of ambientlight sensors 110. The device 100 may be any computation, communication,or data storage device such as a tablet, laptop computer, smart phone,music player, storage device, and the like. The view depicted by FIG. 1shows the screen 120 (e.g., glass or other transparent surface) of thedevice 100 on a surface of the body 125 that displays information to auser, which can be based on user selections or generated by the device100. Information generated by the device can include the status ofcommunication connections (mobile network, wifi connection(s), Bluetoothconnections, etc.), telephone call, or electronic messages or anycombination thereof. The screen 120 can act as the input/output (I/O)between the device 100 and the user. The exemplary device 100 shown inFIG. 1 has a screen 120 that occupies most of one surface of the device100. Other exemplary devices 100 may instead include a keyboard or othercomponents such that the relative size of the screen 120 to the size ofa surface of the device 100 is smaller than shown in FIG. 1 (see e.g.,FIG. 4). Three ambient light sensors (ALSs) 110 x, 110 y, 110 z aredisposed beneath the screen 120 in FIG. 1. Although the ALSs 110 areshown disposed beneath the screen 120 to protect from environmental andaccidental damage, the ALSs 110 receive the same intensity of ambientlight or at least sufficient ambient light to detect a change in ambientlight whether they are disposed above or below the screen 120, becausethe screen 120 is a transparent device element that allows ambient lightto pass through. The screen 120 includes a glass or polymer exteriorlayer that may filter or diffuse some light, e.g., certain ranges oflight wavelengths. Sufficient light for detection as described hereinpasses through the exterior layer of the screen 120. The ambient lightrefers to the available light (brightness and direction of light) in theenvironment in which the device 100 is being used. As such, the ALSs 110are passive devices. In an example, the ALSs 110 do not have and are notassociated with emitters on the device 100 to provide the light that isdetected by the ALSs 110. In a further example, the device 100 does notemit light for the purpose of gesture detection. Ambient light is, in anexample, the light present in the environment in which the device ispresent.

FIG. 2 depicts another view of the device 100 shown in FIG. 1. The viewshown by FIG. 2 includes a light source 210. This light source 210 maybe the sun, a lamp, or some combination of light sources that providethe available light in a given environment in which the device 100 isbeing used. If the device 100 is outside during the day, the sunprovides the ambient light, which is spread spectrum light. If thedevice is being used indoors with no exterior windows, the ambient lightis generated by indoor lighting systems, e.g. lamps, fluorescent bulbs,incandescent bulbs, LEDs, etc. The ambient light can also be acombination of natural light (e.g., sunlight) and artificial light(e.g., fluorescent light, incandescent light). Each ALS 110 outputs acurrent level corresponding with the measured light intensity 115 (seee.g., FIG. 5). An analog-to-digital converter may be used to derive adigital output from the ALSs 110. Each of the ALSs 110 may haveadjustable sensitivity (adjustable gain setting). Each ALS 110 may alsobe a spread spectrum sensor with a selectable range of operation amongtwo or more ranges (wavelength bands or ranges). The process entailed inthis selection is discussed further below with reference to FIG. 6. Thefull range of operation of each ALS 110 may be close to the wavelengthrange of visible light (400 nm to 700 nm). A typical commerciallyavailable ALS may detect ambient light in the wavelength range of 350 nmto 700 nm, for example. Because each ALS 110 measures the intensity ofthe available (ambient) light within its zone of reception (see e.g. 230y and 230 y′ defining a zone of reception for ALS 110 y and 230 z and230 z′ defining a zone of reception for ALS 110 z), the ALS 110 is apassive sensor that does not require a corresponding emitter ortransmitter. The zone of reception is typically cone-shaped with thecone dimensions being determined by an angle of half sensitivity. FIG. 2is a cross-sectional view of an exemplary zone of reception. Each ALS110 may measure light intensity 115 within its zone of reception in aphotometric unit (lux) to provide a measure of lumens per square-metersor in a radiometric unit (irradiance) to provide a measure of watts persquare-meters. In the embodiment shown by FIGS. 1 and 2, the three ALSs110 x, 110 y, 110 z are arranged in a triangular pattern. That is, atleast one ALS 110 is offset or not linearly aligned with at least twoother ALSs 110.

Through the inclusion of two or more ALSs 110 (e.g., three ALSs 110 x,110 y, 110 z), the device 100 shown in FIGS. 1 and 2 facilitatesdetection of a gesture by an object 240 that changes the light intensity115 (see e.g., FIG. 5) in the zone of detection of one or more of theALSs 110 due to movement of the object 240. Through the inclusion ofthree or more ALSs 110 with at least three of the three of more ALSs 110in a triangular pattern (see e.g., FIG. 1), movement of an object 240may be discerned in three dimensions. As is further detailed below, agesture is detected and identified based on the changes in lightintensity 115 measured by each of the ALSs 110 at different timeinstants or measurement cycles due to the movement of the object 240.That is, each of the ALSs 110 measures light intensity 115simultaneously with the other ALSs 110 at a given time instant or insequence with the other ALSs 110 for a measurement cycle, and thecomparison of light intensity 115 measurements for different timeinstants or measurement cycles is used to detect a gesture. For example,assuming that the ALSs 110 measure light intensity 115 simultaneously(or near-simultaneously), at the time instant illustrated by FIG. 2, theobject 240 is positioned such that the light intensity 115 detected byALS 110 z is affected but the light intensity 115 detected by ALSs 110 xand 110 y is unaffected by the object 240. Based on a direction ofmovement of the object 240, the light intensity 115 detected bydifferent ones of the ALSs 110 x, 110 y, 110 z may be affected atdifferent times instants by the position of the object 240. The object240 may be a hand, one or more fingers, a wand or anothernon-transparent item that partially or completely blocks the passage ofambient light so that its position may be detected based on the effecton measured light intensity 115.

A touch-free gesture may mimic a swipe, also known as a flick, which canbe a particular type of touch on a touch-sensitive display. The swipe orflick may begin at an origin point and continue to an end point, forexample, a concluding end of the gesture. A gesture may be identified byattributes or characteristics of the gesture as discussed further below.These attributes may include the origin point (of detection by an ALS110), the end point, the distance traveled by the object 240, theduration, the velocity, and the direction, for example. A gesture may belong or short in distance and/or duration. Two points of the gesture maybe utilized to determine a direction of the gesture. A gesture may alsoinclude a hover. A hover may be non-movement of the object 240 at alocation that is generally unchanged over a period of time.

In the arrangement of ALSs 110 shown in FIGS. 1 and 2, a minimumdistance may be required among the ALSs 110 x, 110 y, and 110 z (e.g.,distance 220 between ALSs 110 y and 110 z) in order to distinguish themovement of the object 240. This minimum distance may generally be onthe order of 2 centimeters (cm). More specifically, the minimum distancebetween ALSs 110 is based on an expected size of the object 240 as onefactor. For example, when an open hand is used as the object 240, agreater minimum distance may be required to distinguish a gesture thanwhen one finger is used as the object 240. This is because the open handwould cover all three ALSs 110 x, 110 y, 110 z at more time instantssuch that a movement of the open hand could only be distinguished whenthe object 240 is at an edge of the set of ALSs 110 x, 110 y, 110 z.According to one or more embodiments, the ALSs 110 may be positioned atthe corners or along the edges of the screen 120 and, thus, the screen120 size may determine the distance between the ALSs 110. When an openhand is anticipated to be the object 240 used to perform a gesture, aminimum distance between ALSs 110 of 3.5 cm may be used. The increaseddistance between ALSs 110 facilitates distinguishing the gesture (e.g.,direction, speed) more clearly, because all ALSs 110 will not be coveredby the open hand object 240 for the majority of the gesture movement.

Another distance that must be considered is the distance between theobject 240 and the ALS 110 (e.g., distance 250 between the object 240and ALS 110 z). First, as FIG. 2 makes clear, the object 240 must bebetween the light source 210 and the ALSs 110 in order to be detected byone or more of the ALSs 110 based on the effect of the object 240 onlight intensity 115 detected by one or more of the ALSs 110. While aminimum distance is generally not required between the object 240 and anALS 110 (i.e. the object 240 may almost touch the screen 120 surface),the object 240 may generally be 2-3 cm away from the screen 120 whileperforming the gesture. When the object 240 is too close to the ALSs 110(screen 120 surface), then some portion of the beginning or end of agesture may not be detected. This is due to the fact that the width ofthe zone of reception of the ALSs 110 (as shown in the cross-sectionaldepiction of FIG. 2 by 230 y and 230 y′ and by 230 z and 230 z′, forexample) is narrowest at the surface of the ALSs 110 and increases withincreased distance from the ALSs. Thus, as is clear from FIG. 2, anobject 240 that is closer in distance to an ALS 110 (screen 120 surface)must also be closer to a center of the ALS 110 (in the perpendiculardimension, along the screen 120) in order to enter the zone of receptionof the ALS 110. By hovering the object 240 above a given ALS 110 andmoving it farther away (reducing the object 240 effect and increasinglight intensity 115 measurement) or closer together (increasing theobject 240 effect and decreasing light intensity 115 measurement), agesture analogous to a mouse click may be made. Thus, double-click andtriple-click gestures may be added to available distinguishablegestures.

FIG. 3 shows a device 100 including an exemplary arrangement of ambientlight sensors 110 according to another embodiment. The exemplary device100 shown in FIG. 3 is similar to the device 100 shown in FIGS. 1 and 2in that the screen 120 occupies most of one surface of the device 100.The device 100 shown in FIG. 3 includes seven ALSs 110 a, 110 b, 110 c,110 d, 110 e, 110 f, 110 g arranged around the perimeter of the screen120. As shown in FIG. 3, ALS 110 a is offset from a common axial line111 of ALSs 110 b, 110 c, and 110 d and also a common axial line 111′ ofALSs 110 e, 110 f, and 110 g. In alternate embodiments, one or more ofthe ALSs 110 b, 110 c, and 110 d or the ALSs 110 e, 110 f, and 110 g maybe disposed such that they are not linearly aligned with other ALSs 110along 111 or 111′, respectively. For example, both ALS 110 c and ALS 110f may be disposed closer to the center of the screen 120 and, thus,offset from the axial line 111 common to ALSs 110 b and 110 d and theaxial line 111′ common to ALSs 110 e and 110 g, respectively. Increasingthe number of ALSs 110 increases the number of gestures that may bedetected by the device 100. For example, one waving gesture (movement ofthe object 240 from one side of the device 100 to the other) isillustrated by FIG. 3. Because of the number of ALSs 110 around theperimeter of the screen 120, other waving gestures, distinguishable fromthe waving gesture shown in FIG. 3, are also possible. The object 240may move from ALSs 110 d and 110 e to ALS 110 a, for example, or fromALS 110 d to ALS 110 g. It bears noting that, if the ALSs 110 wereclustered closer together and the object 240 is a hand, as shown in FIG.3, fewer distinguishable gestures are possible than when the ALSs 110are disposed, as shown.

FIG. 4 shows a device 100 including an exemplary arrangement of ambientlight sensors 110 according to yet another embodiment. Unlike theexemplary devices 100 shown in FIGS. 1-3, the device 100 shown in FIG. 4includes a keyboard or other component in the space 410 such that thescreen 120 occupies less of one surface of the device 100 relative tothe screen 120 shown in FIGS. 1-3. Three ALSs 110 m, 110 n, 110 o areshown near the perimeter of the screen 120. As noted above and shown inFIG. 1, the ALSs 110 m, 110 n, 110 o may be disposed closer together sothat the gestures made by the object 240 are more analogous to gesturesa user of a touchpad may make with a finger.

FIG. 5 is a block diagram of a system 500 to process gestures. Functionsperformed by the system 500 are discussed below with reference tospecific components. However, in alternate embodiments, the system 500may process gestures using one or more processors and one or more memorydevices that serve more than one of the functions discussed herein. Inaddition, the same processors and memory devices that process gesturesas discussed below may perform other functions within the device 100.For example, the processor to identify gestures may be one of severaldigital signal processors (DSPs 801, FIG. 8) generally available in asmart phone or tablet.

An input to the system 500 is the light intensity 115 measured from eachof the ALSs 110. The measurements are received by a data collectionengine 510, which includes both memory and processor functionalities. Asthe light intensity 115 measurement data is received from each of theALSs 110, the data collection engine 510 outputs a frame of data 520 foreach time instant. That is, each frame of data 520 includes the lightintensity 115 measurement for every ALS 110 at a given time instant.While each frame of data 520 may generally be discussed as including thelight intensity 115 measurement for each ALS 110 at an instant of time,the ALSs 110 may instead sample light intensity 115 in turn (rather thansimultaneously) such that a frame of data 520 includes light intensity115 measurements for a period of time for one cycle of the ALSs 110. Aprocessor functioning as a gesture identifier 530 receives each frame ofdata 520. The gesture identifier 530 may operate according to one ofseveral embodiments as discussed below.

In order to identify a movement of the object 240 as a particular(known) gesture, the gesture identifier 530 uses a comparison of lightintensity 115 measurements of the ALSs 110, as discussed below, alongwith a comparison with a gesture template 537 stored in a templatememory device 535. A dynamically adjusted minimum change in lightintensity 115 may be set based on expected noise and errors. That is, athreshold percentage of change in detected light intensity 115 may berequired before it is interpreted as a true variation in ambient light.Based on the light intensity 115 measurements among the ALSs 110 withina frame of data 520 (for a single time instant or measurement cycle),the gesture identifier 530 may ascertain a position of the object 240.For example, for a given frame of data 520, if the light intensity 115measurements of ALSs 110 d and 110 f are higher (by a defined threshold)than the light intensity 115 measurement output by ALS 110 e, then theobject 240 may be determined to be over the ALS 110 e and, thereby,blocking some of the light from the light source 210. Based on the lightintensity 115 measurements among two or more frames of data 520 (two ormore time instants or measurement cycles), the gesture identifier 530may ascertain characteristics of the (movement) gesture such as adirection of the movement, speed of the movement, and whether themovement is accelerating or decelerating. For example, if the lightintensity 115 measurements of ALSs 110 d and 110 f are higher (by adefined threshold) than the light intensity 115 measurement output byALS 110 e in one frame of data 520 and the light intensity 115measurement of ALS 110 e is higher (by a defined threshold) than thelight intensity 115 measurements output by ALSs 110 d and 110 f in thenext frame of data 520, the gesture identifier 530 may ascertain thatthe object 240 moved from a direction of the ALS 110 e toward adirection of the ALSs 110 d and 110 f. If the change in light intensity115 measurements occurred over several frames of data 520, then themovement of the object 240 may be ascertained as being relatively slowerthan if the change occurred over the course of one frame of data 240.Based on the ascertained characteristics of the gesture, the gestureidentifier 530 may identify the gesture among a set of known gesturesbased on the gesture template 537.

The gesture template 537 facilitates the association of a movement ofthe object 240 discerned by the gesture identifier 530 with a particularknown gesture. The gesture template 537 may be regarded as a sample ofideal light intensity 115 measurement data corresponding with each knowngesture. More specifically, the gesture template 537 may be regarded asproviding the ideal relative light intensity 115 among the ALSs 110 orframes of data 520 or both for a given known gesture. Thus, by comparingthe input light intensity 115 measurements (in the frames of data 520)or comparisons of light intensity measurements 115 with the idealmeasurements in the gesture template 537, the gesture identifier 530identifies the object 240 movement as a known gesture. Thisidentification of the gesture may be done by a process of elimination ofthe known gestures in the gesture template 537. Thus, the gestureidentifier 530 may identify the gesture using the gesture template 537,through a process of elimination of available known gestures, before theobject 240 movement is complete. In this case, the gesture identifier530 may continue to process frames of data 520 to verify the detectedgesture or, in alternate embodiments, the gesture identifier 530 maystop processing additional frames of data 520 after identifying thegesture and wait for a trigger signal 540 discussed below. Each of theALSs 110 may be programmable to provide 10, 20, 50, 10, 125, 15, 200 and250 samples of light intensity 115 (frames of data 520) a second. TheALS 110 scanning rate is a factor in determining the speed at which agesture may be made in order to be recognized. That is, when the ALSs110 are sampling at a rate of 10 light intensity 115 samples per second,the fastest identifiable gesture is much slower than the fastestidentifiable gesture that may be made when the ALSs 110 are sampling ata rate of 250 light intensity 115 samples per second. The ALSs 115sampling at a rate of 10 frames of data 520 per second (10 lightintensity 115 samples per second each) may translate to an object 240travelling 10 cm in 1.5 seconds in order to be recognized and processedproperly. The system 610 (FIG. 6) may dynamically calculate and adjustthe scanning rate of the ALSs 110.

Another input to the gesture identifier 530 is one of the gesturelibraries 555 stored in a gesture library storage 550. Each gesturelibrary 555 is associated with an application, and the gestureidentifier 530 selects the gesture library 555 associated with theapplication currently being executed by the device 100. A given gesturelibrary 555 associated with a given application may not include everyknown gesture in the gesture template 537. Thus, based on theapplication currently being executed by the device 100, the gestureidentifier 530 may narrow down the set of known gestures within thegesture template 537 to compare against the frames of data 520 output bythe data collection engine 510 in order to identify the gesture. Agesture library 555 indicates an action output 560 corresponding with aset of gestures. Thus, when the gesture identifier 530 identifies aknown gesture based on the movement of the object 240 and the gesturetemplate 537, and the gesture identifier 530 finds that known gestureamong the set of gestures in a gesture library 555 associated with theapplication currently being run by the device 100, then the gestureidentifier 530 outputs the corresponding action output 560 stemming fromthe object 240 movement. The action output 560 of the gesture identifier530 acts as a command to the application being executed. For example,when the application being executed is a document editing session, thegestures identified by the gesture identifier 530 may correspond withaction outputs 560 such as “next page” (wave down), “previous page”(wave up), “zoom in” (bringing fingers together), and “zoom out”(spreading fingers apart). If the device 100 is currently not executingany application or if the application currently being executed by thedevice 100 does not have a gesture library 555 associated with it, then,even if the gesture identifier 530 uses the gesture template 537 toidentify a known gesture based on the movement of the object 240, noaction is taken by the gesture identifier 530 based on identifying thegesture. That is, there is no action output 560 corresponding with theidentified gesture, because there is no gesture library 555 to look up.

According to one embodiment, the gesture identifier 530 may not use thegesture template 537 to identify a gesture when no application is beingexecuted by the device 100 or when an application without an associatedgesture library 555 is being executed by the device 100. According toanother embodiment, the gesture identifier 530 may not begin to processany frames of data 520 before receiving a trigger signal 540. Thetrigger signal 540 is detailed below with reference to FIG. 6. Accordingto another embodiment, the gesture identifier 530 may process an initialset of frames of data 520 and then not process another set of frames ofdata 520 needed to identify the gesture until the trigger signal 540 isreceived. For example, the gesture identifier 530 may process aparticular number of frames of data 520 or a number of frames of data520 representing a particular length of time (number of time instants)and then stop processing further frames of data 520 until the triggersignal 540 is received. According to yet another embodiment, the gestureidentifier 530 may continually process frames of data 520 as they areoutput from the data collection engine 510.

Regardless of the behavior of the gesture identifier 530 based on thetrigger signal 540, the lack of an associated gesture library 555, orthe lack of an application being executed at all, the data collectionengine 510 still outputs the frames of data 520. This is because thelight intensity 115 measurements may be used for background functionssuch as adjustment of the screen 120 backlighting, for example, based onthe detected ambient light, even if gesture detection is not to beperformed. Some of these background functions are detailed below withreference to FIG. 6.

FIG. 6 is a block diagram of a system 610 to control the two or moreambient light sensors 110. As noted with reference to FIG. 5, thefunctions described for the system 610 may be performed by one or moreprocessors and one or more memory devices, which may also perform otherfunctions within the device 100. The system 610 may be regarded as abackground processing system, because it may operate continuously todynamically control the ALSs 110. The system 610 receives the lightintensity 115 measurements output by the ALSs 110 to the data collectionengine 510 as frames of data 520. In alternate embodiments, the ALSs 110may directly output light intensity 115 measurements to the system 610as well as to the data collection engine 510. The system 610 may alsoreceive additional information 620. This additional information 620 mayindicate, for example, whether the device 100 is currently executing anapplication and, if so, which application the device 100 is currentlyexecuting.

Based on the light intensity 115 measurements (directly or in the formof frames of data 520) and the additional information 620, the system610 adjusts the sensitivity or wavelength band or range or both for eachALS 110. For example, based on the available light (measured ambientlight intensity 115), the system 610 may change the wavelength range forthe ALSs 110 via a control signal 630 from the system 610 to one or moreof the ALSs 110. The change (adjustment of wavelength range) may ensurethat the ALSs 110 are focused in the correct wavelength (frequency) bandfor the current conditions. As another example, based on a change inavailable light (e.g., based on switching a light on or off), the system610 may change the sensitivity of the ALSs 110. Any order of switchinglights produces a new range of change in light intensity 115 to whichthe ALSs 110 must adapt. For example, the range of change of lightintensity 115 to which the ALSs 110 are sensitive may be 50-250 lux. Ina darker environment (e.g., a conference room during a presentation) therange of change of light intensity 115 to which the ALSs 110 aresensitive may be 2-15 lux. The adjustment of the ALSs 110 through thecontrol signal 630 may be done continuously, periodically, or based on atrigger event such as, for example, a change in the application beingexecuted by the device 100. For example, sensitivity adjustment may bedone automatically once for every 5 frames of data 520. The system 610may also adjust the order and frequency of light intensity 115measurements by the ALSs 110. For example, based on additionalinformation 620 indicating that a particular application is beingexecuted by the device 100, the system 610 may send control signals 630to have the ALSs 110 collect light intensity 115 samples for each cycle(frame of data 520) in a particular order and with a particularfrequency.

In addition to controlling the ALSs 110, the system 610 may provide thetrigger signal 540 to the gesture identifier 530 (see FIG. 5). Becausethe system 610 monitors the light intensity 115 measurements in theframes of data 520 to fulfill the background functions described above,the system 610 may additionally identify trigger events that signal whengesture processing should be initiated by the gesture identifier 530 andoutput the trigger signal 540 accordingly. For example, the system 610may output a trigger signal 540 to the gesture identifier 530 when itreceives a frame of data 520 that indicates a change in light intensity115 measured by one or more ALSs 110. The change in light intensity 115measurement may indicate a start of a movement of an object 240 and,thus, the start of a gesture. In various embodiments, the change inmeasured light intensity 115 may be 10%+/−3% or higher before the system610 outputs a trigger signal 540. In an embodiment, the change inmeasured light intensity 115 may be 20%+/−5% or higher before the system610 outputs a trigger signal 540. In an embodiment, the change inmeasured light intensity may be 25%+/−5% or higher before the system 610outputs a trigger signal 540.

FIG. 7 shows the process flow of a method 700 of detecting a gestureaccording to embodiments discussed above. At block 710, arranging two ormore ALSs 110 under the screen 120 of a device 100 may be according tothe embodiments shown in FIGS. 1, 3, and 4 or in alternate arrangementsaccording to the guidelines discussed above. Obtaining light intensity115 measurements from the ALSs 110 (block 720) may be in photometric orradiometric units as discussed above. Obtaining (receiving) the lightintensity 115 measurements may also include dynamically controlling theALSs 110 with the system 610 to modify the wavelength range or spectralsensitivity of each ALS 110, for example. As discussed with reference toFIG. 6, the control by the system 610 may be based on light intensity115 measurements by the ALSs 110, for example. Determining what, if any,application is being executed by the device 100, at block 730, may bedone by the gesture identifier 530 and may be part of the additionalinformation 620 provided to the system 610. At block 740, the processincludes storing a gesture library 555 associated with each applicationthat may be operated using touch-less gestures in the gesture librarystorage 550. Selecting the gesture library 555 associated with theapplication being executed by the device 100 may be done by the gestureidentifier 530 at block 750. Block 750 may also include the gestureidentifier 530 determining that no gesture library 555 is applicablebecause the device 100 is not executing any application or is executingan application without an associated gesture library 555. At block 760,processing the light intensity 115 measurements and identifying agesture involves the data collection engine 510 outputting the frames ofdata 520 and the gesture identifier 530 using a comparison of lightintensity 115 measurements in addition to the gesture template 537.Block 760 may also include the system 610 sending a trigger signal 540to the gesture identifier 530 to begin or continue the gestureprocessing. Block 760 may further include the gesture identifier 530 notidentifying the gesture at all based on not having a gesture library 555available. At block 770, outputting an action signal 560 correspondingwith the gesture based on the gesture library 555 is done by the gestureidentifier 530 as detailed above.

FIG. 8 is a block diagram of an exemplary device 100 that facilitatestouch-less gesture detection as described in embodiments above. Whilevarious components of the device 100 are depicted, alternate embodimentsof the device 100 may include a subset of the components shown orinclude additional components not shown in FIG. 8. The device 100includes a DSP 801 and a memory 802. The DSP 801 and memory 802 mayprovide, in part or in whole, the functionality of the system 500 (FIG.5). As shown, the device 100 may further include an antenna andfront-end unit 803, a radio frequency (RF) transceiver 804, an analogbaseband processing unit 805, a microphone 806, an earpiece speaker 807,a headset port 808, a bus 809, such as a system bus or an input/output(I/O) interface bus, a removable memory card 810, a universal serial bus(USB) port 811, an alert 812, a keypad 813, a short range wirelesscommunication sub-system 814, a liquid crystal display (LCD) 815, whichmay include a touch sensitive surface, an LCD controller 816, acharge-coupled device (CCD) camera 817, a camera controller 818, and aglobal positioning system (GPS) sensor 819, and a power managementmodule 820 operably coupled to a power storage unit, such as a battery826. In various embodiments, the device 100 may include another kind ofdisplay that does not provide a touch sensitive screen. In oneembodiment, the DSP 801 communicates directly with the memory 802without passing through the input/output interface (“Bus”) 809.

In various embodiments, the DSP 801 or some other form of controller orcentral processing unit (CPU) operates to control the various componentsof the device 100 in accordance with embedded software or firmwarestored in memory 802 or stored in memory contained within the DSP 801itself. In addition to the embedded software or firmware, the DSP 801may execute other applications stored in the memory 802 or madeavailable via information media such as portable data storage media likethe removable memory card 810 or via wired or wireless networkcommunications. The application software may comprise a compiled set ofmachine-readable instructions that configure the DSP 801 to provide thedesired functionality, or the application software may be high-levelsoftware instructions to be processed by an interpreter or compiler toindirectly configure the DSP 801.

The antenna and front-end unit 803 may be provided to convert betweenwireless signals and electrical signals, enabling the device 100 to sendand receive information from a cellular network or some other availablewireless communications network or from a peer device 100. In anembodiment, the antenna and front-end unit 803 may include multipleantennas to support beam forming and/or multiple input multiple output(MIMO) operations. As is known to those skilled in the art, MIMOoperations may provide spatial diversity, which can be used to overcomedifficult channel conditions or to increase channel throughput.Likewise, the antenna and front-end unit 803 may include antenna tuningor impedance matching components, RF power amplifiers, or low noiseamplifiers.

In various embodiments, the RF transceiver 804 facilitates frequencyshifting, converting received RF signals to baseband and convertingbaseband transmit signals to RF. In some descriptions a radiotransceiver or RF transceiver may be understood to include other signalprocessing functionality such as modulation/demodulation,coding/decoding, interleaving/deinterleaving, spreading/despreading,inverse fast Fourier transforming (IFFT)/fast Fourier transforming(FFT), cyclic prefix appending/removal, and other signal processingfunctions. For the purposes of clarity, the description here separatesthe description of this signal processing from the RF and/or radio stageand conceptually allocates that signal processing to the analog basebandprocessing unit 805 or the DSP 801 or other central processing unit. Insome embodiments, the RF Transceiver 804, portions of the antenna andfront-end unit 803, and the analog base band processing unit 805 may becombined in one or more processing units and/or application specificintegrated circuits (ASICs).

Note that, in this diagram, the radio access technology (RAT) RAT1 andRAT2 transceivers 821, 822, the IXRF 823, the IRSL 824 and Multi-RATsubsystem 825 are operably coupled to the RF transceiver 804 and analogbaseband processing unit 805 and then also coupled to the antenna andfront-end unit 803 via the RF transceiver 804. As there may be multipleRAT transceivers, there will typically be multiple antennas or frontends 803 or RF transceivers 804, one for each RAT or band of operation.

The analog baseband processing unit 805 may provide various analogprocessing of inputs and outputs for the RF transceivers 804 and thespeech interfaces (806, 807, 808). For example, the analog basebandprocessing unit 805 receives inputs from the microphone 806 and theheadset 808 and provides outputs to the earpiece 807 and the headset808. To that end, the analog baseband processing unit 805 may have portsfor connecting to the built-in microphone 806 and the earpiece speaker807 that enable the device 100 to be used as a cell phone. The analogbaseband processing unit 805 may further include a port for connectingto a headset or other hands-free microphone and speaker configuration.The analog baseband processing unit 805 may provide digital-to-analogconversion in one signal direction and analog-to-digital conversion inthe opposing signal direction. In various embodiments, at least some ofthe functionality of the analog baseband processing unit 805 may beprovided by digital processing components, for example by the DSP 801 orby other central processing units.

The DSP 801 may perform modulation/demodulation, coding/decoding,interleaving/deinterleaving, spreading/despreading, inverse fast Fouriertransforming (IFFT)/fast Fourier transforming (FFT), cyclic prefixappending/removal, and other signal processing functions associated withwireless communications. In an embodiment, for example in a codedivision multiple access (CDMA) technology application, for atransmitter function the DSP 801 may perform modulation, coding,interleaving, and spreading, and for a receiver function the DSP 801 mayperform despreading, deinterleaving, decoding, and demodulation. Inanother embodiment, for example in an orthogonal frequency divisionmultiplex access (OFDMA) technology application, for the transmitterfunction the DSP 801 may perform modulation, coding, interleaving,inverse fast Fourier transforming, and cyclic prefix appending, and fora receiver function the DSP 801 may perform cyclic prefix removal, fastFourier transforming, deinterleaving, decoding, and demodulation. Inother wireless technology applications, yet other signal processingfunctions and combinations of signal processing functions may beperformed by the DSP 801.

The DSP 801 may communicate with a wireless network via the analogbaseband processing unit 805. In some embodiments, the communication mayprovide Internet connectivity, enabling a user to gain access to contenton the Internet and to send and receive e-mail or text messages. Theinput/output interface (“Bus”) 809 interconnects the DSP 801 and variousmemories and interfaces. The memory 802 and the removable memory card810 may provide software and data to configure the operation of the DSP801. Among the interfaces may be the USB interface 811 and the shortrange wireless communication sub-system 814. The USB interface 811 maybe used to charge the device 100 and may also enable the device 100 tofunction as a peripheral device to exchange information with a personalcomputer or other computer system. The short range wirelesscommunication sub-system 814 may include an infrared port, a Bluetoothinterface, an IEEE 802.11 compliant wireless interface, or any othershort range wireless communication sub-system, which may enable thedevice to communicate wirelessly with other nearby client nodes andaccess nodes. The short-range wireless communication sub-system 814 mayalso include suitable RF Transceiver, Antenna and Front End subsystems.

The input/output interface (“Bus”) 809 may further connect the DSP 801to the alert 812 that, when triggered, causes the device 100 to providea notice to the user, for example, by ringing, playing a melody, orvibrating. The alert 812 may serve as a mechanism for alerting the userto any of various events such as an incoming call, a new text message,and an appointment reminder by silently vibrating, or by playing aspecific pre-assigned melody for a particular caller.

The keypad 813 couples to the DSP 801 via the I/O interface (“Bus”) 809to provide one mechanism for the user to make selections, enterinformation, and otherwise provide input to the device 100. The keypad813 may be a full or reduced alphanumeric keyboard such as QWERTY,DVORAK, AZERTY and sequential types, or a traditional numeric keypadwith alphabet letters associated with a telephone keypad. The input keysmay likewise include a track wheel, track pad, an exit or escape key, atrackball, and other navigational or functional keys, which may beinwardly depressed to provide further input function. Another inputmechanism may be the LCD 815, which may include touch screen capabilityand also display text and/or graphics to the user. The LCD controller816 couples the DSP 801 to the LCD 815.

The CCD camera 817, if equipped, enables the device 100 to make digitalpictures. The DSP 801 communicates with the CCD camera 817 via thecamera controller 818. In another embodiment, a camera operatingaccording to a technology other than Charge Coupled Device cameras maybe employed. The GPS sensor 819 is coupled to the DSP 801 to decodeglobal positioning system signals or other navigational signals, therebyenabling the device 100 to determine its position. The GPS sensor 819may be coupled to an antenna and front end (not shown) suitable for itsband of operation. Various other peripherals may also be included toprovide additional functions, such as radio and television reception.

In various embodiments, device 100 comprises a first Radio AccessTechnology (RAT) transceiver 821 and a second RAT transceiver 822. Asshown in FIG. 16, and described in greater detail herein, the RATtransceivers ‘1’ 821 and ‘2’ 822 are in turn coupled to a multi-RATcommunications subsystem 825 by an Inter-RAT Supervisory Layer Module824. In turn, the multi-RAT communications subsystem 825 is operablycoupled to the Bus 809. Optionally, the respective radio protocol layersof the first Radio Access Technology (RAT) transceiver 821 and thesecond RAT transceiver 822 are operably coupled to one another throughan Inter-RAT eXchange Function (IRXF) Module 823.

A specific embodiment of a gesture library 555 is associated with thealarm application. This application may be executed by one or more ofthe processors of the device 100 discussed above. Because a user of thealarm application is not expected to be as alert as the user of mostother applications, concessions are made based on that expectation thatare manifested in the gesture library 555 associated with the alarmapplication, as further detailed below. As one example, rather than aone-to-one correspondence between a gesture and an action output 560 inthe gesture library 555 (as for most applications), the gesture library555 of the alarm application may have a multiple-gesture to one actionoutput 560 correspondence to provide more latitude for a drowsy user toaffect an action by the alarm application. In addition to or instead ofgestures in the gesture library 555 that comes with the alarmapplication, one or more of the gestures in the gesture library 555 maybe user-defined. That is, according to alternate embodiments, prior tooperating the alarm functionality with touch-less gestures, the user mayfirst use another application or an option within the alarm applicationto define the gestures that will be stored in the associated gesturelibrary 555. Whether the user defines one or more of the gestures in thegesture library 555 or uses the available gestures in the gesturelibrary 555, the components and processes involved in operation of thealarm functionality according to various embodiments are detailed below.

Table 1 illustrates an exemplary gesture library 555 for the alarmapplication. The exemplary gesture library 555 shows gestures andcorresponding action outputs 560 sent to the alarm application processorby the gesture identifier 530.

TABLE 1 Gesture Action Output 1 wave (any direction) snooze 2 circulargesture x times alarm off/radio on to preset channel #x 3close-to-far/far-to-close alarm off/designated web page displayed 4hover alarm off/lamp on 5 double-click alarm off prior to set time 6every other gesture in gesture alarm off template or variation inmeasured light intensityAs Table 1 indicates, more than one gesture may correspond with the sameaction output 560. For example, as indicated by item #1 in Table 1, aleft-to-right wave, a right-to-left wave, an up-to-down wave, or adown-to-up wave—any wave across a plane that is parallel (or essentiallyparallel) to the screen 120 (ALSs 110) of the device—results in thegesture identifier 530 outputting an action output 560 to enter snoozemode in the alarm application. This may be implemented in at least twoways. According to one embodiment, the gesture identifier 530 detects atype of gesture (e.g., a wave) based on the motion rather than on aspecific origin (which ALS 110 is the first to detect the wave motion)or destination (which ALS 110 is the last to detect the end of the wavemotion) of the object 240 making the gesture. The gesture library 555stores a correspondence between the type of gesture and an action output560. According to another embodiment, the gesture library 555 stores acorrespondence between two or more gestures (each variation of a type ofgesture) and an action output 560. Thus, when the gesture identifier 530identifies a down-to-up motion and looks up that gesture in the gesturelibrary 555, the corresponding action output 560 is the same as if thegesture identifier 530 had identified an up-to-down motion orleft-to-right motion, for example. As another example, whether theobject 240 (e.g., user's hand) is brought closer to or farther from thescreen 120, the gesture identifier 530 outputs an action output 560 tothe alarm application to turn off the alarm and display a designated webpage (e.g., an email account or a news feed the user likes to reviewevery morning). The gestures may be performed at any distance from thescreen 120 within a maximum distance (e.g., 23 inches) that is based onthe performance of the ALSs 110, as well. For example, the hover gesture(i.e., leaving the object 240 at a certain place above the ALSs 110 fora period of time) may be done at any distance within the maximum inorder to generate an action output 560 to turn on (increase brightnessof) a lamp according to item #4 of the Table 1.

Every gesture in the gesture template 537 (detailed above as listing allof the gestures recognized by the gesture identifier 530) that is notspecified to have a corresponding alarm application action output 560corresponds with an action output 560 to turn off the alarm (item #6 ofTable 1). This is not only an example of multiple gestures correspondingwith a single action output 560 but also illustrates the ease with whicha user can operate the alarm application. Unless the user is alertenough to make a gesture corresponding with one of the specifiedfunctionalities of the alarm application such as, for example, snooze,any other gesture will result in the alarm being turned off. Thegestures corresponding with action outputs 560 that are generated afterthe alarm sounds are gestures that may be made at any speed and in anydirection. For example, the circle gesture corresponding with an actionoutput 560 to turn off the alarm and turn on the radio (item #2 ofTable 1) may be fast or slow and clockwise or counterclockwise.Additionally, the start and stop location of a circle gesture need notbe a specific location near the device 100. Also, the circle gestureneed not be a perfect circle but, instead, a gesture generally around acentral point that causes a change in the light intensity 115 measuredby one or more ALSs 110. This flexibility accounts for the fact that adrowsy user may not remember the orientation of the device 100 and neednot open his or her eyes to determine the orientation. Instead, thegesture may be made without regard for the orientation of the device100. The gesture associated with the action output 560 to turn off thealarm and turn on the radio (item #2) also illustrates another aspect ofthe gestures associated with the alarm application. The number of timesthat certain gestures are performed may define additional features.Thus, for example, a circular gesture made one time may indicate thatthe first preset radio station should be played, while a circulargesture made three times may indicate that the third preset radiostation should be played. This aspect of gesture interpretation mayapply to other ones of the exemplary items in Table 1, as well. Forexample, a number of waves (item #1 of Table 1) may correspond with anaction output 560 specifying a particular amount of time to snooze(e.g., one wave results in snooze for 5 minutes, two waves result insnooze for 10 minutes).

As indicated by item #5 of Table 1, while many of the gestures in thegesture library 555 associated with the alarm application relate tofunctionality that follows the alarm sounding, the gesture identifier530 also operates on gestures made prior to the time set for the alarm.Thus, if a user awakes prior to the time set for the alarm (e.g., userwakes at 5:30 am while the alarm is set to sound at 6:00 am), the usermay use a gesture (a double-click or gesture involving two consecutivetapping motions above the screen 120 according to item #5 of Table 1) toturn off the alarm because it is no longer needed. The system 500 is notlimited by the exemplary embodiments described herein such that, forexample, different gestures may pertain to action outputs 560 thatinitiate other applications (e.g., webpage, radio) when the alarm isturned off prior to the set time. In addition, the default action output560 described above as causing the alarm functionality to be turned offbased on any gesture not specified to correspond with another actionoutput 560 may instead cause the alarm functionality to enter snoozemode, for example.

FIG. 9 shows two opposite-side surfaces of an exemplary device 100according to an embodiment. One side of the device 100 includes thescreen 120 and ALSs 110 x, 110 y, 110 z (as in the embodiment shown inFIG. 1). As noted above, a different arrangement and a different numberof ALSs 110 may also be used. The other (opposite) side 127 of thedevice 100 includes ALSs 110 a, 110 b, 110 c. As a result, according tothe embodiment shown in FIG. 9, the user may set the alarm and leave thedevice 100 with the screen 120 facing down or up and still control thealarm application with gestures such as those shown in Table 1, forexample. Because, as discussed with reference to Table 1, the gesturescorresponding with action outputs 560 to the alarm application may beperformed assuming any orientation and in any direction (any ALSs 110 asa starting point or ending point for the gesture motion), either set ofALSs 110 x, 110 y, 110 z or 110 a, 110 b, 110 c may measure lightintensity 115 measurements that lead to detection of the appropriategesture by the gesture identifier 530. Alternatively, in otherembodiments, the ALSs 110 a, 110 b, 110 c on the opposite surface of thedevice 100 from the screen 120 may not be present, but the device 100may instead alert the user when the screen 120 is left face down suchthat the ALSs 110 x, 110 y, 110 z below the screen 120 cannot facilitategesture detection. The alert may be audible and may accompany the alarmor modify the typical alarm sound, for example.

FIG. 10 is a process flow 1000 of a method to control functionality ofan alarm application according to an embodiment. The process flowoperates on the devices, including processors, described herein. Asindicated in FIG. 10 and as discussed above, the process may beinitiated prior to or following the sounding of the alarm at a specifiedtime. In either case, detecting the gesture at block 1010 is doneaccording to embodiments discussed above for the gesture identifier 530.As detailed with reference to Table 1, more than one gesture maycorrespond with the same action output 560. In addition, the gesture maybe recognized without regard to orientation or direction of movement ofthe object 240 (e.g., user's hand). Thus, for example, a wave gesturethat begins near any one of the ALSs 110 (e.g., ALS 110 b shown in FIG.9) and ends near any one of the other ALSs 110 (e.g., ALS 110 a shown inFIG. 9) is still identified as a wave. Activating the snooze option ofthe alarm application at block 1020 is based on an action output 560generated by the gesture identifier 530 in accordance with a gesturedetected at block 1010. As discussed above and shown in Table 1, anyother detected gesture (at block 1010)—other than one or more gesturescorresponding with activating the snooze option—may result in turningoff the alarm at block 1030. Turning off the alarm functionality of thealarm application (block 1030) may include the device 100 returning to adefault application state (e.g., a default or home screen displayed andawaiting a next selection). Based on the specific gesture that wasdetected at block 1010, the process may instead include initiatinganother application at block 1040. As FIG. 10 indicates, though notdiscussed with the exemplary action outputs 560 shown in Table 1, thesnooze option may be accompanied by initiating another application(block 1040), as well. For example, in addition to turning off the alarm(or activating the snooze option), the radio application may beinitiated and a certain preset radio station may be selected.

While several embodiments have been provided in the present disclosure,it should be understood that the disclosed systems and methods may beembodied in many other specific forms without departing from the spiritor scope of the present disclosure. The present examples are to beconsidered as illustrative and not restrictive, and the intention is notto be limited to the details given herein. For example, the variouselements or components may be combined or integrated in another systemor certain features may be omitted, or not implemented.

Also, techniques, systems, subsystems and methods described andillustrated in the various embodiments as discrete or separate may becombined or integrated with other systems, modules, techniques, ormethods without departing from the scope of the present disclosure.Other items shown or discussed as coupled or directly coupled orcommunicating with each other may be indirectly coupled or communicatingthrough some interface, device, or intermediate component, whetherelectrically, mechanically, or otherwise. Other examples of changes,substitutions, and alterations are ascertainable by one skilled in theart and could be made without departing from the spirit and scopedisclosed herein.

What is claimed is:
 1. A system to control an alarm application executedby a device using a touch-less gesture, the system comprising: two ormore ambient light sensors arranged at respective surface locations on asame side of the device, each of the two or more ambient light sensorsconfigured to measure light intensity at the respective surfacelocation; a processor configured to detect a gesture as a detectedgesture based on the light intensity measured by the ambient lightsensors and output a control signal to the alarm application based onthe detected gesture, wherein at least one other gesture alsocorresponds with the control signal; and a gesture library configured tostore two or more gestures, and one or more control signalscorresponding to the two or more gestures, wherein the gesture librarystores a correspondence between the detected gesture and the controlsignal and stores a correspondence between the at least one othergesture and the control signal.
 2. The system according to claim 1,wherein the two or more ambient light sensors on the same side of thedevice are on a first side coincident with a screen of the device or ona second side of the device, the second side being opposite the firstside of the device.
 3. The system according to claim 1, wherein thecontrol signal is output to control an operation of the alarmapplication and to activate another application on the device when theprocessor detects the at least one other gesture.
 4. The systemaccording to 1, wherein when the detected gesture is not one of the twoor more gestures stored in the gesture library, the processor outputsthe control signal to stop an alarm sound of the alarm application as adefault control signal.
 5. The system according to claim 1, furthercomprising a gesture library configured to store a correspondencebetween a type of the detected gesture and the control signal, whereinthe type of the detected gesture and the type of the at least one othergesture are a same type.
 6. The system according to claim 5, wherein theprocessor identifies the type of the detected gesture to determine thecontrol signal corresponding with the detected gesture according to thecorrespondence stored in the gesture library.
 7. The system according toclaim 6, wherein the processor identifies the type of the detectedgesture based on a motion and irrespective of an orientation of anobject making the motion relative to the device.
 8. A method ofcontrolling an alarm application being executed by a device using atouch-less gesture, the method comprising: storing, in a gesturelibrary, two or more gestures, and one or more control signalscorresponding to the two or more gestures; measuring, using two or moreambient light sensors arranged at respective surface locations on a sameside of a device, light intensity at the respective surface locations;detecting a gesture as a detected gesture, using a processor, based onthe light intensity measured by the ambient light sensors; andoutputting, using the processor, a control signal to the alarmapplication based on the detected gesture, wherein at least one othergesture also corresponds with the control signal, wherein storing thecorrespondence in the gesture library includes storing a correspondencebetween the detected gesture and the control signal and storing acorrespondence between the at least one other gesture and the controlsignal.
 9. The method according to claim 8, wherein the measuring thelight intensity is with the two or more ambient light sensors on thesame side of the device being on a first side coincident with a screenof the device or on a second side of the device, the second side beingopposite the first side of the device.
 10. The method according to claim8, wherein detecting the at least one other gesture causes the controlsignal to control an operation of the alarm application and to activateanother application on the device.
 11. The method according to claim 8,further comprising the processor outputting the control signal to stopan alarm sound of the alarm application as a default control signal whenthe detected gesture is not one of the two or more gestures stored inthe gesture library.
 12. The method according to claim 8, furthercomprising storing, in a gesture library, a correspondence between atype of the detected gesture and the control signal, the type of thedetected gesture and the type of the at least one other gesture being asame type.
 13. The method according to claim 12, further comprising theprocessor identifying the type of the detected gesture to determine thecontrol signal corresponding with the detected gesture according to thecorrespondence stored in the gesture library.
 14. The method accordingto claim 13, further comprising the processor identifying the type ofthe detected gesture based on a motion and irrespective of anorientation of an object making the motion relative to the device. 15.The method according to claim 8, further comprising: turning off thealarm application and returning the device to a default applicationstate if the control signal is received prior to the alarm applicationactivating an alarm sound at a specified time; otherwise, stopping thealarm sound in response to receiving the control signal.
 16. The methodaccording to claim 8, further comprising resetting the alarm applicationfor a selected period of time based on the control signal.
 17. Themethod according to claim 8, further comprising turning off theapplication or resetting the alarm application, and initiating adifferent application based on the control signal.
 18. The methodaccording to claim 8, wherein the control signal causes an alarm soundof the alarm application to snooze for an amount of time based on anumber of times the detected gesture is detected.
 19. The method ofclaim 18, wherein the amount of time is such that the greater the numberof times the detected gesture is detected before outputting the controlsignal, the greater the amount of time the alarm sound is snoozed afteroutputting the control signal.
 20. A device to control an alarmapplication using a touch-less gesture, the device comprising: two ormore ambient light sensors arranged at respective surface locations on asame side of the device, each of the two or more ambient light sensorsconfigured to measure light intensity at the respective surfacelocation; a processor configured to detect a gesture based on the lightintensity measured by the ambient light sensors and output a controlsignal to the alarm application based on the detected gesture; and agesture library configured to store two or more gestures, and one ormore control signals corresponding to the two or more gestures, wherein,when the detected gesture is not one of the two or more gestures storedin the gesture library, the processor outputs the control signal to stopan alarm sound of the alarm application.